#include "stdafx.h"
#include <boost/test/auto_unit_test.hpp>
#include <sstream>
#include "detail/bmock_arg_val.hpp"

namespace bmock {
	struct stam_arg_val : public arg_val {
		stam_arg_val(const char *const n)
			:arg_val(n)

		{}
		~stam_arg_val() {}
		void _update(const std::string & )
		{
		}

		void _print_value(std::ostream &os)
		{
			print_value(os);
		}

		void print(std::ostream &) const{}

		bool null_supplied() const {
			return false;
		}
	};


	BOOST_AUTO_TEST_CASE(test_arg_val_update) {
		const char m[4]="bla";
		stam_arg_val p_val(m);
		const std::string v;
		p_val._update(v);
	}

	BOOST_AUTO_TEST_CASE(test_arg_val_print_value) {
		const char m[4]="bla";
		stam_arg_val p_val(m);
		std::ostringstream        os;
		p_val._print_value(os);

	}
	BOOST_AUTO_TEST_CASE(test_for_coverage)
	{
		std::ostringstream os;
		const char m[4]="bla";
		stam_arg_val p_val(m);
		BOOST_CHECK_EQUAL(false,p_val.null_supplied());
		BOOST_CHECK_NO_THROW(p_val.print(os));
	}
}
